home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / oper_sys / emerald / emrldsys.lha / Language / Compiler / Builtins / Bitchunk.m < prev    next >
Text File  |  1990-08-16  |  2KB  |  53 lines

  1. % @(#)Bitchunk.m    1.3  4/11/88
  2. %
  3. export _BitchunkObject to "Builtins"
  4.  
  5. const _BitchunkObject == immutable object _BitchunkObject
  6.   export getSignature, create
  7.  
  8.   const BitchunkType == type i_BitchunkType
  9.     function  addr -> [Integer]
  10.     function  getSigned[Integer, Integer] -> [Integer]
  11.     function  getUnsigned[Integer, Integer] -> [Integer]
  12.     function  getElement[Integer, Integer] -> [Integer]
  13.     operation setSigned[Integer, Integer, Integer]
  14.     operation setUnsigned[Integer, Integer, Integer]
  15.     operation setElement[Integer, Integer, Integer]
  16.   end i_BitchunkType
  17.  
  18.   function getSignature -> [ result : Signature ]
  19.     result <- BitchunkType
  20.   end getSignature
  21.  
  22.   operation create[n : Integer] -> [ r : BitchunkType ]
  23.     r <- object aBitchunk
  24.       export 
  25.      getSigned, getUnsigned, setSigned, setUnsigned, getElement,
  26.     setElement
  27.     
  28.       function addr -> [r : Integer]
  29.     primitive 319 [r] <- []
  30.       end addr
  31.       function getSigned [s : Integer, l : Integer] -> [ r : Integer ]
  32.     primitive 019 [ r ] <- [ s, l ]
  33.       end getSigned
  34.       function getUnsigned [s : Integer, l : Integer] -> [ r : Integer ]
  35.     primitive 119 [ r ] <- [ s, l ]
  36.       end getUnsigned
  37.       function getElement [s : Integer, l : Integer] -> [ r : Integer ]
  38.     primitive 119 [ r ] <- [ s, l ]
  39.       end getElement
  40.       operation setSigned [start : Integer, len : Integer, val : Integer]
  41.     primitive 219 [] <- [start, len, val]
  42.       end setSigned
  43.       operation setUnsigned [start : Integer, len : Integer, val : Integer]
  44.     primitive 219 [] <- [start, len, val]
  45.       end setUnsigned
  46.       operation setElement [start : Integer, len : Integer, val : Integer]
  47.     primitive 219 [] <- [start, len, val]
  48.       end setElement
  49.     end aBitchunk
  50.   end create
  51. end _BitchunkObject
  52.